package com.zh.java;
/**
 * 
 * 饿汉式单例模式
 * 
 * 
 * @author Eric Zheng   
 * 
 * @email 18118800007@163.com
 *
 * @date 2018-03-20
 * 
 *
 */
public class HungerDanli {
	
	//饿汉式的关键，就在于这里，在private修饰的static(静态变量)中，直接先把类的对象创建好。
	//还是因为private修饰的，外界访问不了，因此需要提供public的getInstance方法，返回该创建的对象。
	//static的用处在于，系统中只有这么一份。因为static还有个用意，就是static修饰的变量或者方法，直接通过类名.就可以访问。不需要创建这个对象。他的级别比较高
	private static HungerDanli obj = new HungerDanli();
	
	
	private HungerDanli(){
		System.out.println("我被初始化一次，完成我的一系列操作");
	}
	
	//跟懒汉式一样。这里就不需要什么null判断了。
	//因为饿汉式很勤快，在上面private static HungerDanli obj = new HungerDanli(); 这个时候就已经把对象创建好了。
	//所以直接返回就可以。
	public static HungerDanli getInstance(){
		return obj;
	}
	
	
	public static void main(String[] args) {
		HungerDanli danLi = HungerDanli.getInstance();
		HungerDanli danLi2 = HungerDanli.getInstance();
	}
	
	

}
